#ifndef OBJETSCENE_H
#define OBJETSCENE_H

#include <QList>
#include "face.h"

/*
 *  @autheur : LEMOUEL Florian
 *  @date : 04.04.2013
 *  @version 1.0 : création de la classe complète
 */


/*
 * Classe représentant un objet d'une scène 3D.
 */
class ObjetScene
{
 //--------------------- Constructeurs et destructeur -------------------
public:

    //Constructeur par défault
    ObjetScene();

    //Constructeur avec une liste de faces
    ObjetScene(QList<Face*>  faces);

    //Constructeur par recopie
    ObjetScene(const ObjetScene& objetScene);

    //Destructeur
    ~ObjetScene();
    //----------------------------------------------------------------------
    //--------------------- Méthodes ---------------------------------------

    //Fonction permettant d'ajouter une face
    void ajouterFace(Face& face);

    //Fonction permettant de récupérer le nombre de faces
    int getNbFaces();

    //Fonction permettant de supprimer une face
    void supprimerFace(int i);

    //Fonction de dessin
    void dessiner();

    //----------------------------------------------------------------------
    //--------------------- Accesseurs -------------------------------------

    //----------------------------------------------------------------------
    //--------------------- Surcharge des opérateurs -----------------------

    //----------------------------------------------------------------------
    //--------------------- Attributs --------------------------------------
private:
    QList<Face*> _faces;
    //----------------------------------------------------------------------
};

#endif // OBJETSCENE_H
